/**
 * 报表世界的公用js
 */
/**
 * 修改变更记录信息
 */
function queryDataUpdateInfo(id, code) {
    if (isNull(id) || isNull(code)) {
        $.messager.alert('系统提示', "没有获取到对应数据编码！", 'warning');
        return;
    }
    $("#dataCodeView").val(code);
    $('#dlgDataDemandBug').dialog({
        title: "查看修改记录"
    }).dialog('open');
    $("#tabfromDataDemandBug").form('clear');//添加之前清空表达信息
    $('#dgDataDemandBug').datagrid({
        loadMsg: '数据加载中，请稍后...',
        url: reportworld + '/demandBugInfo/selectByPrimaryByDataId',
        singleSelect: false,//如果为true，则只允许选择一行。
        checkOnSelect: true,//当用户点击行的时候该复选框就会被选中或取消选中。
        striped: true,//是否显示斑马线效果。
        rownumbers: true,// 显示一个行号列
        fitColumns: false,//真正的自动展开/收缩列的大小，以适应网格的宽度，防止水平滚动。
        queryParams: {
            dataId: id,
            dataCode: code
        },
        columns: [[
            {field: 'itemid', title: 'Order ID', width: 80, checkbox: true},
            {field: 'id', title: '需求BUG编号', hidden: true},
            {field: 'dataDemandBugId', title: '关联表编号', hidden: true},
            {
                field: 'demandBugType', title: '需求/BUG', formatter: function (value, row, index) {
                    if (1 == value) {
                        return "需求";
                    } else {
                        return "BUG";
                    }
                }
            },
            {field: 'demandBugNum', title: '编号'},
            {field: 'description', title: '需求说明', width: 80},
            {field: 'version', title: '版本号'},
            {field: 'strStatus', title: '状态'},
            {field: 'addUser', title: '添加人'},
            {field: 'addTime', title: '添加时间'}

        ]],
        loadFilter: function (data) { //加载后台数据
            if (successcode != data.code) {
                return errorHandle(data);
            }
            $("#dataId").val(id); //表id
            return data.data;
        },
        //双击事件
        onDblClickRow: function (rowIndex, rowData) {
            viewDataUpdateInfo(rowData)
        }
    }).datagrid("columnMoving");
}

//查看修改记录信息
function viewDataUpdateInfo(rowData) {
    $('#dlgDataDemandBugView').dialog({
        title: "查看修改记录信息",
        buttons: [{
            text: '返回',
            iconCls: 'icon-back',
            handler: function () {
                $('#dlgDataDemandBugView').dialog('close');
            }
        }
        ]
    }).dialog('open');
    $('#myformDataDemandBug').form('load', rowData);//页面赋值
    $("#demandBugInfo").combobox("setValue", rowData.id); // 修改前的需求BUG编号
    $("#dataCode").val($("#dataCodeView").val());
}

//搜索的方法
function doSearchDataSqlUpdateInfo() {
    var queryParams = $("#dgDataDemandBug").datagrid("options").queryParams;
    queryParams["description"] = $("#selDataSqlUpdateDescription").val();
    queryParams["version"] = getCommboxValue("selDataSqlUpdateVersion");
    $("#dgDataDemandBug").datagrid("options").queryParams = queryParams;
    $("#dgDataDemandBug").datagrid("load");
}

//添加修改记录信息
function addDataDemandBug() {
    $("#myformDataDemandBug").form('clear');//添加之前清空表达信息
    $('#myformDataDemandBug').form('enableValidation');//设置验证样式
    $('#dlgDataDemandBugView').dialog({
        title: "新增修改记录信息",
        buttons: [{
            text: '保存',
            iconCls: 'icon-save',
            handler: function () {
                saveItemDataUpdateInfo(1);
            }
        }, {
            text: '返回',
            iconCls: 'icon-back',
            handler: function () {
                $('#dlgDataDemandBugView').dialog('close');
            }
        }
        ]
    }).dialog('open');
    $("#dataDemandBugDataId").val($("#dataId").val()); //SQLid
    $('#demandBugInfo').combobox('selectedIndex', 0); //选中第一个
    $("#dataCode").val($("#dataCodeView").val())
}


/**
 * 检查表名是不是已经存在
 * @lsetlist name
 */
$.extend($.fn.validatebox.defaults.rules, {
    checkDataDemandBug: {
        validator: function (value, param) {
            //修改页面，没有修改也提示存在的问题
            var demandBugId = $("#" + param[0]).val();
            value = $("#demandBugInfo").combobox("getValue");
            if (value.toUpperCase() == demandBugId.toUpperCase()) {
                return true;
            }
            return dataDemandBugCheck(value)
        },
        message: '{1}'
    }
});


/**
 * 检查是不是已经存在关联关系数据
 * @lsetlist name
 */
function dataDemandBugCheck(value) {
    var falg = true;
    $.ajax({
        url: reportworld + "/dataDemandBug/dataDemandBugCheck",
        method: 'post',
        async: false,
        data: {
            "demandBugId": value,
            "dataId": $("#dataId").val(),
            "dataCode": $("#dataCode").val()
        },
        success: function (data) {
            if (successcode != data.code) {
                return errorHandle(data);
            }
            if (data.data == false) {
                falg = false;//标识已经存在
            }
        }, error: function (data) {
            $.messager.progress('close');
            $.messager.alert('系统提示', "系统异常，请稍后重试！", 'error');
        }
    });
    return falg;
}

/**
 * 选择需求BUG的编号改变事件
 */
function comboboxChanageDemandBug() {
    $('#demandBugInfo').combobox({
        onChange: function (n, o) {
            if (isNull(n)) {
                return;
            }
            // 给对应的类型，和描述赋值
            $.ajax({
                    type: "post",
                    url: reportworld + "/demandBugInfo/queryDemandBugInfoById",
                    dataType: "json",
                    data: {
                        id: n
                    },
                    success: function (data) {
                        $.messager.progress('close');
                        if (successcode != data.code) {
                            return errorHandle(data);
                        }
                        $("#demandBugInfo").combobox('setValue', data.data.id);
                        $("#demandBugType").combobox('setValue', data.data.demandBugType);
                        $("#description").textbox('setValue', data.data.description);
                        // $('#myformDataDemandBug').form('load', data.data);//页面赋值
                    }, error: function (data) {
                        $.messager.progress('close');
                        $.messager.alert('系统提示', "系统异常，请稍后重试！", 'error');
                    }
                }
            );
        }
    });
}


//修改 修改记录信息
function editDataDemandBug() {
    $('#myformDataDemandBug').form('enableValidation');//设置验证样式
    var arr = $('#dgDataDemandBug').datagrid('getSelections');
    if (null == arr || arr.length != 1) {
        $.messager.alert('系统提示', "请选择一行数据！", 'warning');
        return;
    }
    $('#dlgDataDemandBugView').dialog({
        title: "编辑修改记录信息",
        buttons: [{
            text: '保存',
            iconCls: 'icon-save',
            handler: function () {
                saveItemDataUpdateInfo(2);
            }
        }, {
            text: '返回',
            iconCls: 'icon-back',
            handler: function () {
                $('#dlgDataDemandBugView').dialog('close');
            }
        }
        ]
    }).dialog('open');
    $('#myformDataDemandBug').form('load', arr[0]);//页面赋值
    $("#demandBugInfo").combobox("setValue", arr[0].id); // 修改前的需求BUG编号
    $("#dataDemandBugId").val(arr[0].dataDemandBugId);// 关联关系表ID
    $("#dataDemandBugFirst").val(arr[0].id); // 修改前的需求BUG编号
    $("#dataCode").val($("#dataCodeView").val());
}

//保存SQL修改记录信息
function saveItemDataUpdateInfo(ftype) {
    //验证表单信息
    if (!$("#myformDataDemandBug").form('validate')) { //验证表单信息
        return;
    }
    var url = reportworld + "/dataDemandBug/editDataDemandBug";
    if (1 == ftype) {
        url = reportworld + "/dataDemandBug/addDataDemandBug";
    }
    $.messager.confirm('系统提示', "确定保存修改记录信息吗？", function (parm) {
        if (!parm) {
            return;
        }
        $('#myformDataDemandBug').form('submit', {
            url: url,
            onSubmit: function () {
                $.messager.progress({text: '正在处理中...',});
            }, success: function (data) {
                $.messager.progress('close');
                try {
                    data = JSON.parse(data);
                    if (successcode != data.code) {
                        return errorHandle(data);
                    }
                    //关闭弹出窗口
                    $('#dlgDataDemandBugView').dialog('close');
                    $("#dgDataDemandBug").datagrid("load");//刷新表格
                    $.messager.show({title: '系统提示', msg: data.message});
                } catch (e) {
                    $.messager.progress('close');
                    $.messager.alert('系统提示', "系统异常，请稍后重试！", 'error');
                }
            }
        });
    });
}

// 删除修改记录信息
function delDataDemandBug() {
    var arr = $('#dgDataDemandBug').datagrid('getSelections');
    if (null == arr || arr.length == 0) {
        $.messager.alert('系统提示', "请选择你要删除的数据！", 'warning');
        return;
    }
    $.messager.confirm('系统提示', '确定要删除【' + arr.length + '】修改记录信息吗？', function (param) {
        if (!param) {
            return;
        }
        var ids = [];
        for (var i = 0; i < arr.length; i++) {
            ids.push(arr[i].dataDemandBugId);
        }
        $.messager.progress({text: '正在处理中...',});
        $.ajax({
                type: "post",
                url: reportworld + "/dataDemandBug/delDataDemandBug",
                dataType: "json",
                data: {
                    ids: JSON.stringify(ids)
                },
                success: function (data) {
                    $.messager.progress('close');
                    if (successcode != data.code) {
                        return errorHandle(data);
                    }
                    $("#dgDataDemandBug").datagrid("load");//刷新表格
                    $.messager.show({title: '系统提示', msg: data.message});
                }, error: function (data) {
                    $.messager.progress('close');
                    $.messager.alert('系统提示', "系统异常，请稍后重试！", 'error');
                }
            }
        );

    });
}

/**
 * 字典数据弹出页面
 */
function datagridDataDic(obj) {
    $('#dlgDataDicCode').dialog({
        title: "查看字典信息",
        buttons: [{
            text: '返回',
            iconCls: 'icon-back',
            handler: function () {
                $('#dlgDataDicCode').dialog('close');
            }
        }
        ]
    }).dialog('open');
    $('#dgDataDicCode').datagrid({
        loadMsg: '数据加载中，请稍后...',
        url: reportworld + '/tpGlExhibDatadict/queryTpGlExhibDatadict',
        singleSelect: false,//如果为true，则只允许选择一行。
        checkOnSelect: true,//当用户点击行的时候该复选框就会被选中或取消选中。
        striped: true,//是否显示斑马线效果。
        rownumbers: true,// 显示一个行号列
        fitColumns: false,//真正的自动展开/收缩列的大小，以适应网格的宽度，防止水平滚动。
        queryParams: {
            classId: obj
        },
        columns: [[
            {field: 'classId', title: '分类代码'},
            {field: 'className', title: '分类名称'},
            {field: 'classEname', title: '分类英文名称'},
            {field: 'keyId', title: '键值代码'},
            {field: 'keyName', title: '键值名称'},
            {field: 'keyEname', title: '键值英文名称'},
            {
                field: 'orValidD', title: '是否有效', formatter: function (value, row, index) {
                    if (0 == value) {
                        return "有效";
                    } else {
                        return "无效";
                    }
                }
            },
            {field: 'memo', title: '备注说明'},
            {
                field: 'sta', title: '是否启用', formatter: function (value, row, index) {
                    if (0 == value) {
                        return "锁定";
                    } else {
                        return "启用";
                    }
                }
            },
            {field: 'keySeq', title: '顺序号'}
        ]],
        loadFilter: function (data) { //加载后台数据
            if (successcode != data.code) {
                return errorHandle(data);
            }
            return data.data;
        }
    }).datagrid("columnMoving");
    ;
}

